package com.ruicar.afs.cloud.risk.tortoise.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruicar.afs.cloud.risk.api.dto.tortoise.TortoiseResultNotice;
import com.ruicar.afs.cloud.risk.api.dto.tortoise.TortoiseQueryBean;
import com.ruicar.afs.cloud.risk.tortoise.dto.notice.GwtTortoiseReq;
import com.ruicar.afs.cloud.risk.tortoise.entity.CreditTortoiseRecord;
import com.ruicar.afs.cloud.risk.tortoise.enums.GwtTortoiseNoticeClientUri;

/**
 * @Description
 * @Author Peng Jinbo
 * @Date 2020/07/30 21:43
 */
public interface AfsCreditTortoiseRecordService extends IService<CreditTortoiseRecord> {

    /**
     * Author Peng Jinbo
     * Save record *
     *
     * @param queryBean       query bean
     * @param tortoiseTrackId tortoise track id
     */
    void saveRecord(TortoiseQueryBean queryBean,String tortoiseTrackId);

    /**
     * @return the notice
     * @Author Peng Jinbo Gets notice *
     */
    TortoiseResultNotice getNotice(String serialNumber);

    /**
     * Author Peng Jinbo
     * Query record credit tortoise record
     *
     * @param serialNumber serial number
     * @return the credit tortoise record
     */
    CreditTortoiseRecord queryRecord(String serialNumber);

    /**
     * Author Peng Jinbo
     * Notice to client *
     *
     * @param notice    notice
     * @param noticeUri notice uri
     */
    void noticeToClient(GwtTortoiseReq notice, GwtTortoiseNoticeClientUri noticeUri);

}
